package com.ruoyi.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.admin.domain.entity.ProfitModel;
import com.ruoyi.admin.domain.vo.request.profit.ProfitPageJoinRequest;
import com.ruoyi.admin.domain.vo.response.profit.ProfitPageResponse;
import com.ruoyi.admin.domain.vo.response.profit.ProfitResponse;
import com.ruoyi.common.api.Result;

/**
 * 报表(Profit) Service接口
 *
 * @author jianhan
 * @date 2022-12-07 15:41:39
 */
public interface ProfitService extends IService<ProfitModel> {

    /**
     * 根据id获取单条数据信息
     *
     * @param profitId 报表id
     * @return 单条数据信息
     * @author jianhan
     * @date 2022-12-07 15:41:39
     **/
    Result<ProfitResponse> getId(Long profitId);

    /**
     * 分页获取列表
     *
     * @param page        分页信息
     * @param profitPageJoinRequest 查询条件
     * @return 单页数据
     * @author jianhan
     * @date 2022-12-07 15:41:39
     **/
    Result<ProfitPageResponse> page(Page<ProfitPageJoinRequest> page, ProfitPageJoinRequest profitPageJoinRequest);

    /**
     * 添加报表
     *
     * @param profitModel 报表信息
     * @return 添加结果
     * @author jianhan
     * @date 2022-12-07 15:41:39
     **/
    Result add(ProfitModel profitModel);

    /**
     * 修改报表
     *
     * @param profitModel 报表信息
     * @return 修改结果
     * @author jianhan
     * @date 2022-12-07 15:41:39
     **/
    Result update(ProfitModel profitModel);

    /**
     * 删除报表
     *
     * @param profitId 报表id
     * @return 删除结果
     * @author jianhan
     * @date 2022-12-07 15:41:39
     **/
    Result delete(Long profitId);

}
